All rights reversed

TCP/IP Penetrationsm÷glichkeiten

Vortrag: Felix von Leitner <fefe@ccc.de>

Bericht: Dieter Kirchner <dieter@roko.goe.net>

Es gibt mehrere verschiedene Klassen von Penetrationsm÷glichkeiten bei Rechnern in TCP/IP-basierten Netzen:

1. Fehlkonfigurationen, Dienste sind nicht abgeschaltet.

Dies ist die hΣufigste einzelne Ursache von Angriffen. Oft sind Patches und Updates der Serversoftware nicht eingespielt, gelegentlich braucht der (proprietΣre) Hersteller der Software auch einige Zeit, um diese Bugfixes zu entwickeln. Oft werden unn÷tige Dienste nicht abgeschaltet, was teilweise auch durch die Linux-Distributionen begⁿnstigt wird, die alle m÷glichen Dienste erst einmal defaultmΣ▀ig starten, aber nicht unbedingt sicher konfigurieren. Firewalls und Router sind dabei besonders tⁿckisch, z.B. werden default-Pa▀w÷rter nicht geΣndert oder Standardaccounts eingetragen. Beispiel fⁿr eine Fehlkonfiguration: ist das Relaying von Mails nicht abgeschaltet, so ist es Spam-Mailern m÷glich, den Server zu mi▀brauchen. Einige Dienste sind inhΣrent unsicher wie NFS, NIS, telnet und rlogin.

2. Buffer Overflows.

Beispiel im Code:

void bla (char *s) { char buf[199]; strcpy (buf,s); }

Sehr hΣufig, teilweise auch in Library -Funktionen (z.B. syslog()). Dieses PhΣnomen ist ein Bug im Programm oder dessen Bibliotheken, betroffen sind beispielsweise MS-Exchange, wu-ftpd, Netscape, MSIE, sendmail, Outlook, Outlook Express, MS IIS usw. Diese Bugs finden sich in allen Betriebssystemen. Auf diese Angriffsmethode wurde auch in einer anderen Veranstaltung eingegangen (-> Stack Exploits).

3. Metazeichen nicht "escaped".

Beispiel fⁿr eine URL:

http://www.site.com/search.cgi?what=bla;mail+/etc/passwd+me+blafasel....

Wenn Shellscripte oder andere Scriptsprachen benutzt werden, mⁿssen alle Metazeichen escaped werden. Viele Freeware CGI-Scripte haben damit Probleme, aber auch das ::$DATA-Problem bei NT-Webservern wird dadurch verursacht. Der Ansatz ist die ▄bertragung von Steuersequenzen an Programme, die vom Webserver ausgefⁿhrt werden. Dies umgeht der Programmierer der Scripte durch eine Liste von Ausdrⁿcken, die er als Programmeingabe durch den Webserver zulΣ▀t. Richtig ist eine Whitelist, also nur erlauben, was n÷tig ist, nicht aber blacklisten, wo nur weniges explizit verboten wird. Liberale Einstellungen lohnen sich nicht in diesem Bereich :-)

4. Passw÷rter gesnifft

Alle Programme, die unverschlⁿsselte Authentifizierung benutzen, sind gefΣhrdet, also ftp, telnet, pop3 und imap. Der Angriffspunkt ist dabei ein Rechner, der physikalischen Zugriff auf die Kabel hat, also dort ⁿber eine Netzwerkkarte angeschlossen ist. Da alle Pakete in einem ungeswitchten Netz auch bei dieser Netzwerkkarte ankommen oder ⁿber den Computer geroutet werden (deswegen sind Router ein Hauptziel fⁿr Angriffe!), k÷nnen sie mitgelesen werden. Passw÷rter/Loginkombinationen stehen im Klartext in den Datenpaketen und verraten damit die Accounts von Nutzern.

5. Passw÷rter gecrackt

Viele Fehler in Software erlauben zwar nicht, als root Code auszufⁿhren, aber sie machen es m÷glich, die /etc/passwd zu lesen oder aber die NIS -Datenbank abzufragen. Damit k÷nnen dann Accounts auf dem Zielsystem geknackt werden, ⁿber die weitere Angriffe ausgefⁿhrt werden k÷nnen. Der empfohlene Passwort-Cracker ist John the Ripper, zu finden unter ftp.congress.ccc.de/pub/unix/security, um aus der passwd mit Hilfe eines W÷rterbuches die Pa▀w÷rter zu knacken.Passwortsynchronisation zwischen vielen Rechnern rei▀t oft aber Lⁿcken, die sichere Pa▀wortsysteme wie das shadow-Verfahren aushebeln. Alternativen sind in diesem Bereich Tivoli oder Kerberos, wobei Kerberos ebenso wie NIS+ SchwΣchen aufweist.

6. TCP-Hijacking

Gemeint ist damit die ▄bernahme von TCP/IP-Verbindungen, speziell die von One-Time-Passwortschemata, bei denen nur einmal das Pa▀wort abgefragt wird. Dabei ⁿbernimmt man nach der Authentifizierung der Verbindung durch den ursprⁿnglichen Nutzer dessen Verbindung. Dabei wird die Eigenschaft des TCP/IP-Protokolls ausgenutzt, da▀ die Datenpakete durchnummeriert gesendet werden. Jemand, der in der Mitte der Verbindung nun entsprechend manipulierte Pakete an beide an der Verbindung beteiligten Rechner sendet, kann beiden Rechnern vormachen, er sei der jeweils andere, und ⁿbernimmt damit die Kontrolle ⁿber die Verbindung (man in the middle). Unter UmstΣnden genⁿgt es auch, parallel zu einem anderen Rechner im Netz zu sein, um einen Versuch zur ▄bernahme der Verbindung durchzufⁿhren.

7. Hintertⁿren

Back Orifice und Netbus als Trojaner sind aktuelle Hintertⁿren fⁿr Windowssysteme. Aber es sind auch andere Trojaner fⁿr andere Betriebsysteme bekannt. Gelegentlich hinterlassen auch Systemadministratoren und Programmierer Hintertⁿren in ihren Programmen.

Wie schⁿtzt man sich ?

Folgende Regeln helfen:

-Nicht auf die Firewall verlassen.

-Verbindung verschlⁿsseln.

-StΣndige Scans der eigenen Rechner sind n÷tig.

-Open Source hilft gegen offensichtliche Hintertⁿren.

-No Microsoft.

-Pa▀w÷rter selber cracken, um unsichere vor anderen zu finden.